/*
 * @Descripttion: 
 * @version: 
 * @Author: cyj
 * @Date: 2023-04-21 16:49:33
 */
//引入文件上传插件
const multer = require('multer')

const express = require('express')

const router = express.Router()

const mkdir = require('../dao/mkdir')

//控制文件的存储
const storage = multer.diskStorage({
    //用来确定上传的文件应该存储在哪个文件夹中
    destination: function (req, file, cb) {
        // console.log('req',req);
        console.log(req.body);
        //得到前端给的路径
        let url = req.body.url
        //动态创建路径
        mkdir.mkdirs(`../uploads/${url}`, err => {
            console.log('err', err);   //输出err错误代码
        })

        cb(null, `./uploads/${url}`)

    },
    //用于确定文件夹中的文件名的确定  确定文件名
    filename: function (req, file, cb) {
        // console.log('file', file);   //上传文件的原始信息
        // console.log(file.fieldname);
        //交给前端处理图片名字问题，防止重名
        let name = req.body.name
        //正则匹配拿到图片后缀
        let type = file.originalname.split('.').pop()
        cb(null, name + '.' + type)   //重新命名图片
    }
})

const upload = multer({ storage: storage })

//前端文件上传
router.post('/upload', upload.array('file', 10), function (req, res, next) {
    // req.files 是 `photos` 文件数组的信息
    // req.body 将具有文本域数据，如果存在的话
    let url = req.body.url
    //获取文件名 路径
    let data = '/'+ url + '/'+ req.files[0].filename
    // let imgurl = '/' + url + data
    res.send(data)
})

module.exports = router 